unit clsLayOutChq;

interface

uses dbtables, dm, rdprint;

type
  TLayoutChq = class(TObject)
  public
    descricao: string;
    l_val: Double;
    c_val: Double;
    l_ext1: Double;
    c_ext1: Double;
    l_ext2: Double;
    c_ext2: Double;
    l_nominal: Double;
    c_nominal: Double;
    l_cidade: Double;
    c_cidade: Double;
    c_dia: Double;
    c_mes: Double;
    c_ano: Double;
    Num_Linhas: Double;
    function Recuperar(p_cod_ban: string): boolean;
    procedure Gravar(p_cod_ban: string);
    procedure Excluir(p_cod_ban: string);
    procedure Consultar(p_descricao: string; var p_q: TQuery);
  end;

implementation

procedure TLayoutChq.Gravar;
var
  tq: TQuery;
begin
  tq := Tquery.Create(dmint);
  tq.databasename := dmint.db.databasename;
  tq.active := False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('Select * from LayoutChq where ban_codigo=:k_cod_ban');
  tq.parambyname('k_cod_ban').asstring := p_cod_ban;
  tq.open;
  if tq.eof then begin
    tq.close;
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('Insert into LayoutChq values (:k_ban_codigo,' +
      ':k_descricao ,' +
      ':k_l_val     ,' +
      ':k_c_val     ,' +
      ':k_l_ext1    ,' +
      ':k_c_ext1    ,' +
      ':k_l_ext2    ,' +
      ':k_c_ext2    ,' +
      ':k_l_nominal ,' +
      ':k_c_nominal ,' +
      ':k_l_cidade  ,' +
      ':k_c_cidade  ,' +
      ':k_c_dia     ,' +
      ':k_c_mes     ,' +
      ':k_c_ano     ,' +
      ':k_Num_Linhas)');
  end else begin
    tq.close;
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('Update LayoutChq set     ' +
      'descricao =:k_descricao ,' +
      'l_val     =:k_l_val     ,' +
      'c_val     =:k_c_val     ,' +
      'l_ext1    =:k_l_ext1    ,' +
      'c_ext1    =:k_c_ext1    ,' +
      'l_ext2    =:k_l_ext2    ,' +
      'c_ext2    =:k_c_ext2    ,' +
      'l_nominal =:k_l_nominal ,' +
      'c_nominal =:k_c_nominal ,' +
      'l_cidade  =:k_l_cidade  ,' +
      'c_cidade  =:k_c_cidade  ,' +
      'c_dia     =:k_c_dia     ,' +
      'c_mes     =:k_c_mes     ,' +
      'c_ano     =:k_c_ano     ,' +
      'Num_Linhas=:k_Num_Linhas ' +
      'where                    ' +
      'ban_codigo=:k_ban_codigo ');
  end;
  tq.parambyname('k_ban_codigo').asstring := p_cod_ban;
  tq.parambyname('k_descricao').asstring := descricao;
  tq.parambyname('k_l_val').asfloat := l_val;
  tq.parambyname('k_c_val').AsFloat := c_val;
  tq.parambyname('k_l_ext1').AsFloat := l_ext1;
  tq.parambyname('k_c_ext1').AsFloat := c_ext1;
  tq.parambyname('k_l_ext2').AsFloat := l_ext2;
  tq.parambyname('k_c_ext2').AsFloat := c_ext2;
  tq.parambyname('k_l_nominal').AsFloat := l_nominal;
  tq.parambyname('k_c_nominal').AsFloat := c_nominal;
  tq.parambyname('k_l_cidade').AsFloat := l_cidade;
  tq.parambyname('k_c_cidade').AsFloat := c_cidade;
  tq.parambyname('k_c_dia').AsFloat := c_dia;
  tq.parambyname('k_c_mes').AsFloat := c_mes;
  tq.parambyname('k_c_ano').AsFloat := c_ano;
  tq.parambyname('k_num_linhas').AsFloat := Num_Linhas;
  tq.execsql;
  tq.close;
  tq.Free;
end;

function TLayoutChq.Recuperar;
var
  tq: TQuery;
begin
  tq := Tquery.Create(dmint);
  tq.databasename := dmint.db.databasename;
  tq.active := False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('Select * from LayoutChq where ban_codigo=:k_cod_ban');
  tq.parambyname('k_cod_ban').asstring := p_cod_ban;
  tq.open;
  if tq.eof then result := false else result := true;
  descricao := tq.FieldbyName('descricao').AsString;
  l_val := tq.FieldbyName('l_val').AsFloat;
  c_val := tq.FieldbyName('c_val').AsFloat;
  l_ext1 := tq.FieldbyName('l_ext1').AsFloat;
  c_ext1 := tq.FieldbyName('c_ext1').AsFloat;
  l_ext2 := tq.FieldbyName('l_ext2').AsFloat;
  c_ext2 := tq.FieldbyName('c_ext2').AsFloat;
  l_nominal := tq.FieldbyName('l_nominal').AsFloat;
  c_nominal := tq.FieldbyName('c_nominal').AsFloat;
  l_cidade := tq.FieldbyName('l_cidade').AsFloat;
  c_cidade := tq.FieldbyName('c_cidade').AsFloat;
  c_dia := tq.FieldbyName('c_dia').AsFloat;
  c_mes := tq.FieldbyName('c_mes').AsFloat;
  c_ano := tq.FieldbyName('c_ano').AsFloat;
  Num_Linhas := tq.fieldbyname('Num_Linhas').asfloat;
  tq.Close;
  tq.Free;
end;

procedure TLayoutChq.Excluir;
var
  tq: TQuery;
begin
  tq := Tquery.Create(dmint);
  tq.databasename := dmint.db.databasename;
  tq.active := False;
  tq.sql.Clear;
  tq.params.clear;
  tq.sql.add('Delete from LayoutChq where ban_codigo=:k_cod_ban');
  tq.parambyname('k_cod_ban').asstring := p_cod_ban;
  tq.ExecSQL;
  tq.close;
  tq.Free;
end;

procedure TLayoutChq.Consultar;
begin
  p_q.close;
  p_q.sql.Clear;
  p_q.Params.Clear;
  p_q.sql.add('Select * from LayoutChq where descricao>=:k_descricao order by descricao');
  p_q.parambyname('k_descricao').asstring := p_descricao;
  p_q.open;
end;

end.
